A product search mechanism is a mechanism that, in response to a user query, provides search results that identify one or more products that are selected based on the query. A user query is typically a Boolean logic phrase contained in a string.
Product search mechanisms are often associated with specific websites. For example, a website may provide to a user's browser a web page that includes a field for specifying a query. The user enters a query into the field, and then selects a control that causes the query to be transmitted back to a product search mechanism associated with the website. The product search mechanism then processes the query, and sends a web page that contains the search results back to the user's browser.
In product search mechanisms, results are generated by query processing engines. Query processing engines generally include one or more scoring mechanisms. A scoring mechanism is a mechanism that employs a particular algorithm for finding matching results for a user query from among a pool of candidate results. The act of using a scoring mechanism to determine the search results for a query is referred to herein as “scoring the query” with the scoring mechanism.
Different scoring mechanisms may use different techniques for determining how to score a query. The algorithm used by a scoring mechanism may, for example, select the matching results based on a comparison between key words in the query and key words in product descriptions. Such a scoring mechanism is referred to herein as a “keyword-matching” scoring mechanism.
For example, consider a keyword-matching scoring mechanism used by a product search engine. A user may want to find all products that have the words “Hess AND Siddhartha AND book”. The keyword-matching scoring mechanism would search the product database and, by comparing the keys words in the query against key words in product descriptions, provide a result containing a reference to a copy of Herman Hess' book “Siddhartha”.
Some systems use a single scoring mechanism for scoring a user query, as was the case for the example above. A problem with this approach is that a single scoring mechanism may not produce acceptable results for all user queries. For example, if a system uses only a keyword-matching scoring mechanism, then the results for some product searches may be acceptable, such as the Siddhartha search described above. However, other searches for other products may not produce acceptable results, such as a search for a laptop based on the query: “laptop AND 2.3 GHz AND nVidia”. Using a keyword-matching scoring mechanism, a laptop with a 2.4 GHz processor with an nVidia graphics card would not be selected by the scoring mechanism as one of the results.
Another type of scoring mechanism is a Bayesian scoring mechanism. Bayesian scoring mechanisms use Bayesian classifiers, which are neural networks trained on sample data. The sample data contains sample user queries and appropriate result sets for those queries. After training on the sample data, a Bayesian classifier provides an estimate of how likely a given candidate item from the pool of product information is to match a user query.
Another approach to producing results for a user query is to (1) use multiple Bayesian scoring mechanisms in the system, (2) determine the “relevance” of the search results produced by each scoring mechanism, and (3) provide to the user that submitted the query the results from the scoring mechanism with the maximum relevance for that query. The relevance for a Bayesian scoring mechanism is determined as a functional composition of the likelihood that each result in the set of results produced by the scoring mechanism matches the user query.
In the relevance maximization approach, the search results will often include only unsponsored candidate items, where an unsponsored item is one for which no party associated with an item is charged a fee for inclusion of the item in a result set. This approach aides the user, because the user receives the most relevant result set from among those generated by the multiple scoring mechanisms. However, such an approach does not take into consideration the revenue generation needs of the company providing the search results. A result set maximizing the relevance and exclusively consisting of unsponsored links generates no revenue.
Even if sponsored results are considered during the scoring process, the relevance maximization approach still has a problem in that it leads to a sacrifice of generated revenue in order to maximize relevance of the search results. For example, consider the choice between two scoring mechanisms: scoring mechanism A which has a relevance score, using some relevance scoring system, of 85% and potential revenue of $20 and a scoring mechanism B which has a relevance score of 86% and a potential revenue of $1. Using this approach would cause the search provider to forego $19 while providing the customer with only marginally better search results.
Another approach to producing results for a user query is the revenue maximization approach. This approach uses multiple scoring mechanisms for each user query and selects the one for which the maximum revenue would be generated given its produced result set. Such an approach aides the search provider by providing revenue for the service it provides, but has a problem in that it leads to a sacrifice of relevance of the result set to the user query. For example, consider the choice between two scoring mechanisms: scoring mechanism A which has a relevance score of 85% and potential revenue of $20 and a scoring mechanism B which has a relevance score of 12% and a potential revenue of $21. Simply maximizing on revenue would cause the search provider to choose to use a scoring mechanism with very low relevance over a scoring mechanism with high relevance in order to make $1 more.
Clearly, there is a need for techniques that select from multiple scoring mechanisms but still avoid choosing a scoring mechanism based on a single parameter value.
The approaches described in this section are approaches that may be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.